#pragma once
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"

SG_DATASTRUCTURE_POST_NAMESPACE_OPEN

struct TRIA3ForceData
{
    SG::DataStructure::Common::Id   m_eId      = 0;    /// Element identification number
    SG::DataStructure::Common::Real m_MX       = 0.0;  /// Membrane force  in x
    SG::DataStructure::Common::Real m_MY       = 0.0;  /// Membrane force  in y
    SG::DataStructure::Common::Real m_MXY      = 0.0;  /// Membrane force  in xy
    SG::DataStructure::Common::Real m_BMX      = 0.0;  /// Bending   moment in x
    SG::DataStructure::Common::Real m_BMY      = 0.0;  /// Bending   moment in y
    SG::DataStructure::Common::Real m_BMXY     = 0.0;  /// Bending   moment in xy
    SG::DataStructure::Common::Real m_TX       = 0.0;  /// Shear  force  in x
    SG::DataStructure::Common::Real m_TY       = 0.0;  /// Shear  force  in y
    SG::DataStructure::Common::Id   m_domainId = 0;    /// Domain identifier
};

///< @brief 判断数据是否相等
DECLSPEC bool operator== (const TRIA3ForceData& val1, const TRIA3ForceData& val2);

///< @brief 排序使用
DECLSPEC bool operator< (const TRIA3ForceData& a, const TRIA3ForceData& b);

SG_DATASTRUCTURE_POST_NAMESPACE_CLOSE
